/*************************************************************************
 ** disassembler.library                                                **
 **                                                                     **
 ** a simple system library for disassembling a86K binaries             **
 **                                                                     **
 ** © 1999 THOR-Software, Thomas Richter                                **
 ** No commercial use, reassembly, modification without prior, written  **
 ** permission of the authors.                                          **
 ** Including this library in any commercial software REQUIRES a        **
 ** written permission and the payment of a small fee.                  **
 **                                                                     **
 **---------------------------------------------------------------------**
 ** Definition of the library, and structures                           **
 **                 **
 ** $VER: 40.2 (31.10.99) © THOR                            **
 *************************************************************************/
#ifndef LIBRARIES_DISASSEMBLER_M
#define LIBRARIES_DISASSEMBLER_M 
MODULE 'exec/libraries'
/* There's really nothing in this library base you need to care about */
OBJECT DisassemblerBase
  Library:Library     /* more below this point */

#define DISASSEMBLER_NAME 'disassembler.library'
/* The one and only structure you need to care about. This one is
   passed in to Disassemble() */
OBJECT DisData
  From:APTR,               /* base to start disassembly from */
  UpTo:APTR,               /* where to stop it */
  PC:APTR,                 /* the disassembler prints a "*" here */
  PutProc:VOID,    /* to avoid casts, this is a void *. */
  UserData:APTR,           /* passed to the PutProc in a1 and a3 */
  UserBase:APTR,           /* passed to the PutProc in a4 */
  Truncate:UWORD,         /* limit width of the output */
  reserved:UWORD          /* this is currently reserved */

/* PutProc is actually a function pointer, but due to different compilers
   and conventions defined here as a void *. It is called with the
   character to print in d0, the user data in a1 and a3 and the user
   base in a4. This is most useful for C code.

   The library functions are interrupt-callable, provided your PutProc
   is.
*/
#endif
